//package cn.xiaolang.function.connection;
//
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.io.InputStream;
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.sql.Statement;
//import java.util.ArrayList;
//import java.util.LinkedList;
//import java.util.List;
//
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.Cell;
//import org.apache.poi.ss.usermodel.Row;
//import org.apache.poi.ss.usermodel.Sheet;
//import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.junit.Test;
//
///**
// * mysql的驱动链接测试 
// * 
// * @version 1.3
// * @since JDK1.7
// * @author fuhw
// * @company 上海浦信科技
// * @copyright (c) 2016 Puxin technology. All rights reserved.
// * @date 2016年11月7日 上午9:41:17
// */
//public class ConnectMySqlByDriver {
//	
//	/**
//	 * 连接实例 
//	 *
//	 * 
//	 * @author Administrator
//	 * @date 2016年10月21日 下午8:30:55
//	 */
//	@Test
//	public void demo() {
//		 
//        //遍历查询结果集
//        try {
//            if(!connectionSql.isClosed())
//                System.out.println("Succeeded connecting to the Database!");
//            //2.创建statement类对象，用来执行SQL语句！！
//            Statement statement = connectionSql.createStatement();
//            //要执行的SQL语句
//            String sql = "select * from goo_stock";
//            //3.ResultSet类，用来存放获取的结果集！！
//            ResultSet rs = statement.executeQuery(sql);
//            String goodsId = null;
//            String id = null;
//            while(rs.nextNode()){
//                //获取stuname这列数据
//            	goodsId = rs.getString("goods_id");
//                System.out.println(id + "\t" + goodsId);
//            }
//            rs.close();
//            connectionSql.close();
//        } catch(SQLException e) {
//            //数据库连接失败异常处理
//            e.printStackTrace();  
//            }catch (Exception e) {
//            e.printStackTrace();
//        }finally{
//            System.out.println("数据库数据成功获取！！");
//        }
//	}
//
//	private static Connection connectionSql;
//	static {
//		String driver = "com.mysql.jdbc.Driver";
//		String url = "jdbc:mysql://139.196.225.209:3306/baoxiujie_1.3_prod";
//		String user = "baoxiujie";
//		String password = "bxj@2016";
//		try {
//			Class.forName(driver);
//			connectionSql = DriverManager.getConnection(url,user,password);
//		} catch (ClassNotFoundException e) {
//			 //数据库驱动类异常处理
//            System.out.println("Sorry,can`t find the Driver!");   
//			e.printStackTrace();
//		} catch (SQLException e) {
//			 //数据库连接失败异常处理
//			e.printStackTrace();
//		}
//		
//	}
//	/**
//	 * 特殊处理 
//	 *
//	 * @throws ClassNotFoundException
//	 * 
//	 * @author DeanKano
//	 * @date 2016年11月14日 下午8:02:49
//	 */
//	@Test
//	public  void specialStockData() throws ClassNotFoundException {
//		/**@fuhw @date 2016-10-27 处理新增物料公司物料库存的逻辑*/
//		try {
//			connectionSql.setAutoCommit(false); // 设置手动提交  
//			if(!connectionSql.isClosed())
//				System.out.println("Succeeded connecting to the Database!");
//			String sql = "SELECT a.id FROM goods a WHERE a.code = ?";
//			Integer columnCount = 2;
//			PreparedStatement statement = (PreparedStatement) connectionSql.prepareStatement(sql);
//			
//			List<List<String>> readExcel = readExcel("E:/崮山盘点(1).xlsx");
//			List<List<String>> wrongContent = new LinkedList<>();
//			Integer successCount = readExcel.size();
//			Integer wrongCount = 0;
//			List<List<String>> readDatas = new LinkedList<>();
//			
//			for(List<String> list : readExcel) {
//				if(list == null) {
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				if(list.size() != columnCount) {
//					wrongContent.add(list);
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				String codeName = list.get(0);
//				String count = list.get(1);
//				count = count.substring(0, count.length()-2);
//				statement.setString(1, codeName);
//				ResultSet resultSet = statement.executeQuery();
//				if (resultSet.nextNode()) {
//					List<String> temp = new LinkedList<>();
//					temp.add(resultSet.getString("id"));
//					temp.add("16");
//					temp.add(count);
//					readDatas.add(temp);
//				}else {
//					wrongContent.add(list);
//					wrongCount++;
//					successCount--;
//				}
//			}
////			statement.executeBatch();
//			connectionSql.commit();
//			System.err.println("执行成功：" + successCount + "条记录！");
//			System.err.println("成功的内容：" + readDatas.toString());
//			System.err.println("执行失败：" + wrongCount + "条记录！");
//			System.err.println("执行失败的内容：" + wrongContent.toString());
//			statement.close();
//			updateStockBatch(readDatas);
//			connectionSql.close();
//			
//			
//			
//			
//			
//		} catch(SQLException e) {
//			//数据库连接失败异常处理
//			e.printStackTrace();  
//		}catch (Exception e) {
//			e.printStackTrace();
//		}finally{
//			System.out.println("成功操作数据库！！");
//		}
//	}
//	
//	/**
//	 * 按入参去读取
//	 *
//	 * @param readDatas
//	 * 
//	 * @author DeanKano
//	 * @date 2016年11月14日 下午8:30:07
//	 */
//	public  void updateStockBatch(List<List<String>> readDatas) {
//		try {
//			connectionSql.setAutoCommit(false); // 设置手动提交  
//			if(!connectionSql.isClosed())
//				System.out.println("Succeeded connecting to the Database!");
//			String sql = "UPDATE goo_stock SET goo_stock.count = goo_stock.count + ? ,goo_stock.update_date = NOW() WHERE goo_stock.shop_id = 13 AND goo_stock.goods_id = ? AND goo_stock.space_id = 16;";
//			PreparedStatement statement = (PreparedStatement) connectionSql.prepareStatement(sql);
//			List<List<String>> wrongContent = new LinkedList<>();
//			Integer successCount = readDatas.size();
//			Integer wrongCount = 0;
//			for(List<String> list : readDatas) {
//				if(list == null) {
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				if(list.size() != 3) {
//					wrongContent.add(list);
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				Long goodsId = Long.parseLong(list.get(0));
//				Long count = Long.parseLong(list.get(2));
//				
//				statement.setLong(1, count);
//				statement.setLong(2, goodsId);
//				statement.addBatch();
//			}
//			
//			statement.executeBatch();
//			connectionSql.commit();
//			System.err.println("执行成功：" + successCount + "条记录！");
//			System.err.println("执行失败：" + wrongCount + "条记录！");
//			System.err.println("执行失败的内容：" + wrongContent.toString());
//			statement.close();
//			connectionSql.close();
//		} catch(SQLException e) {
//			//数据库连接失败异常处理
//			e.printStackTrace();  
//		}catch (Exception e) {
//			e.printStackTrace();
//		}finally{
//			System.out.println("成功操作数据库！！");
//		}
//		
//		
//	}
//	
//	
//	/**
//	 * 判断数据插入操作
//	 * 
//	 * 
//	 * @author fuhw
//	 * @date 2016年11月11日 上午9:59:56
//	 */
//	@Test
//	public  void insertStockData() throws ClassNotFoundException {
//		/**@fuhw @date 2016-10-27 处理新增物料公司物料库存的逻辑*/
//		try {
//			connectionSql.setAutoCommit(false); // 设置手动提交  
//			if(!connectionSql.isClosed())
//				System.out.println("Succeeded connecting to the Database!");
////			String sql = "insert into goo_stock(shop_id,goods_id,space_id,count,update_date,version) values(2,?,?,?,NOW(),0)";
//			String sql = "UPDATE goo_stock SET goo_stock.count = ? WHERE goo_stock.shop_id = 11 AND goo_stock.goods_id = ? AND goo_stock.space_id = 14;";
//			PreparedStatement statement = (PreparedStatement) connectionSql.prepareStatement(sql);
//			
//			List<List<String>> readExcel = readExcel("D:/临沂店盘点数据整理.xlsx");
//			List<List<String>> wrongContent = new LinkedList<>();
//			Integer successCount = readExcel.size();
//			Integer wrongCount = 0;
//			for(List<String> list : readExcel) {
//				if(list == null) {
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				if(list.size() != 3) {
//					wrongContent.add(list);
//					wrongCount++;
//					successCount--;
//					continue;
//				}
//				Long goodsId = Long.parseLong(list.get(0));
//				Long count = Long.parseLong(list.get(2));
//				
//				statement.setLong(1, count);
//				statement.setLong(2, goodsId);
//				statement.addBatch();
//			}
//			
//			statement.executeBatch();
//			connectionSql.commit();
//			System.err.println("执行成功：" + successCount + "条记录！");
//			System.err.println("执行失败：" + wrongCount + "条记录！");
//			System.err.println("执行失败的内容：" + wrongContent.toString());
//			statement.close();
//			connectionSql.close();
//		} catch(SQLException e) {
//			//数据库连接失败异常处理
//			e.printStackTrace();  
//		}catch (Exception e) {
//			e.printStackTrace();
//		}finally{
//			System.out.println("成功操作数据库！！");
//		}
//	}
//	
//	
//	
//	public static void main(String[] args) {
//		 
//		/**@fuhw @date 2016-10-27 处理新增物料公司指导价的逻辑*/
//        try {
//            connectionSql.setAutoCommit(false); // 设置手动提交  
//            if(!connectionSql.isClosed())
//                System.out.println("Succeeded connecting to the Database!");
//            String sql = "update goods a SET a.com_price = ? where a.com_id = 2 and a.id = ?";
//            PreparedStatement statement = (PreparedStatement) connectionSql.prepareStatement(sql);
//           
//            List<List<String>> readExcel = readExcel("D:/海宝物料数据加指导价.xlsx");
//            List<List<String>> wrongContent = new LinkedList<>();
//            Integer successCount = readExcel.size();
//            Integer wrongCount = 0;
//            for(List<String> list : readExcel) {
//            	if(list == null) {
//            		wrongCount++;
//            		successCount--;
//            		continue;
//            	}
//            	if(list.size() != 2) {
//            		wrongContent.add(list);
//            		wrongCount++;
//            		successCount--;
//            		continue;
//            	}
//            	Long goodsId = Long.parseLong(list.get(0));
//            	Double comPrice = Double.parseDouble(list.get(1));
//            	
//            	statement.setDouble(1,comPrice);
//            	statement.setLong(2, goodsId);
//            	statement.addBatch();
//            }
//            
//            statement.executeBatch();
//            connectionSql.commit();
//            System.err.println("执行成功：" + successCount + "条记录！");
//            System.err.println("执行失败：" + wrongCount + "条记录！");
//            System.err.println("执行失败的内容：" + wrongContent.toString());
//            statement.close();
//            connectionSql.close();
//        } catch(Exception e) {   
//           e.printStackTrace();
//        }finally{
//            System.out.println("成功操作数据库！！");
//        }
//	}
//	
//	
//	
//	
//	/**
//	 * 读取excel文件 
//	 *
//	 * @param path
//	 * @return
//	 * 
//	 * @author Administrator
//	 * @date 2016年10月21日 下午8:29:41
//	 */
//	public static List<List<String>> readExcel(String path){
//        List<List<String>> list=new ArrayList<List<String>>();
//        try {
//            Workbook wb;
//            InputStream is=null;
//            try{
//                is=new FileInputStream(path);
//                //读取2007版Excel
//                wb=new XSSFWorkbook(is);
//            }catch(Exception e){
//                //防止异常导致输入流关闭
//                is=new FileInputStream(path);
//                //读取2003版Excel
//                wb=new HSSFWorkbook(is);
//            }
//            for (int i = 0; i < wb.getNumberOfSheets(); i++) {
//                //读取Sheet
//                Sheet sheet=wb.getSheetAt(i);
//                if(sheet==null){
//                    continue;
//                }
//                //处理当前页，循环每一行
//                for (int j = 0; j < sheet.getPhysicalNumberOfRows(); j++) {
//                    //得到当前行
//                    Row row=sheet.getRow(j);
//                    //当前行第一个单元格
//                    int minCells=row.getFirstCellNum();
//                    //当前行最后一个单元格
//                    int maxCells=row.getLastCellNum();
//                    List<String> sl=new ArrayList<String>();
//                    for (int k = minCells; k < maxCells; k++) {
//                        //每一个单元格
//                        Cell cell=row.getCell(k);
//                        if(cell==null){
//                            continue;
//                        }
//                        sl.add(cell.toString());
//                    }
//                    list.add(sl);
//                }
//            }
//            if(is!=null){
//                is.close();
//            }
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return list;
//    }  
//	
//}
//
// 
